Central to the magnetic disk drive is the use of a data recording disk having a magnetizable layer on its surface. Digital data is recorded on the disk in the form of magnetic transitions spaced closely together. In modern disk drives in particular, recording densities have reached a level which creates extreme sensitivity to imperfections known as media defects in the magnetic recording layer, resulting in portions of the layer becoming unacceptable for use in recording the magnetic transitions.
Defective regions of the disk are initially identified at manufacturing time during surface analysis testing (SAT). For disk drives employing data sector formats with ID fields, a defect flag is set in the ID field of each data sector to indicate whether it is defective, "good", or spare. A "P" defect list is created during SAT having an entry for each defective sector identified. The P list is used at manufacturing time as an input to a format operation. The format operation uses the P list to write defect information to the ID fields, or in the case of NoID disk drives, to generate a defect/spare table. Also included in the defect/spare table are entries for good sectors which have been designated as spares to be used during disk drive operation if additional good sectors become bad. A null reassign table is also generated at this time in disk drives implementing off-site reassigns (described subsequently). The ID fields or defect/spare tables are then used during read and write operations to skip over defective sectors and spare sectors. As additional defects occur on the disk surface, e.g., due to contact between the disk surface and the transducing head, a new list of "grown" defects (or "G" list) is created. Both the "P" and "G" lists are then used as inputs to format operations executed in the field to rewrite the ID fields or to generate a new defect/spare table. A specific method and apparatus for mapping defects in a NoID disk drive are disclosed in U.S. patent application Ser. No. 08/173,588 filed Dec. 23, 1993 and incorporated herein by reference.
New defects may be detected during either a read or write operation. When a read failure occurs, data stored in the defective region must be reconstructed and moved to a new location as part of an error recovery procedure. The error recovery procedure typically comprises microcode executed by the microcontroller.
The data is reassigned using either an off-site reassign operation or an in-line reassign operation. If the storage device implements off-site reassigns, data stored in the defective region will be reconstructed and written to one or more designated spare regions of the storage medium. The defect location and new data location are then entered into the reassign table, and defect is flagged by adding it to the G list and defect/spare table. On future attempts to read the track containing the defect, the control electronics consults the defect/spare table to identify the location of the defect. It also cross-references the reassign table to obtain the new location of the reassigned data. Reading continues up to the defective location, then is interrupted as the head seeks to the new data location to read the reassigned data. The head then returns to the track to continue reading information after the defect.
Unfortunately, the insertion of these extra steps into a read operation hampers the speed at which data can be retrieved from the disk. To improve performance, an "in-line" reassignment algorithm has been used. In-line reassign architectures in a NoID environment include a fixed number of spare sectors which are sprinkled throughout the drive. When a defective sector is identified, the following steps are executed: 1) the defect/spare table is consulted for the nearest available spare in each direction from the defect, and of those two spares, the one that is closest to the defect is selected; 2) upon identifying the closest spare, all data sectors between the defect and the spare are read to confirm that there are no newly grown defects therebetween; 3) if no defects are found, the procedure advances to step 6); 4) if a defect is found, the next nearest spare is selected, and all data sectors between the defect and identified spare are read to check for grown defects; 5) if defects are found, an error is posted and the reassign operation is aborted, or a "nested reassign" is performed until a suitable spare is found; 6) if a suitable spare has been identified, all data sectors between the defect and the spare are shifted by one sector in the direction of the spare; and 7) the defect/spare table and G list are updated. In this manner, the order of the data sectors is preserved during the reassign process. Consequently, it is no longer necessary to interrupt reading of defective data region by seeking to a new location to read the reassigned sector.
In-line reassignment thus provides an efficient method for handling disk defects, provided they are relatively small (e.g., affecting only one or two data sectors), since reassigns are only performed one data sector at a time.
Today's disk drives employ magnetoresistive heads which often interact with the surface of the disk to create thermal asperities. Thermal asperities can manifest themselves as large, multiple sector defects. An in-line approach to reassignment of data sectors corrupted by thermal asperities would be undesirably slow, requiring as many as 12-16 iterations of the reassign process and using up as many spares. In addition, temperature changes and head activity around a defective site can cause a thermal asperity to move. This, in turn, could cause a chain reaction of lengthy reassigns and depletion of spares.
It should be apparent, therefore, that there is a need for a reassign architecture which maintains the benefits of in-line reassignment when dealing with disk defects of small proportions, while providing an alternative and efficient method for dealing with multiple-sector defects. It would also be desirable to recapture spares used to reassign data from disk regions that are no longer defective, e.g., because of asperity movement.